查看原文
其他

破解Windows密码:LM、NTLM、DCC及Windows Hello PIN

小茆同学、杨非凡 数据安全与取证 2022-11-03

本文由小茆同学、杨非凡编译,陈裕铭、Roe校对,转载请注明。

当前版本的Windows有许多不同类型的账户。本地Windows账户、微软账户和域账户具有不同的保护策略,还有带PIN码的Windows Hello(一款生物特征授权功能)的独特保护方式。这些类型的密码有多安全,如何破解?让我们一起来了解一下吧。

经典密码

在攻击Windows账户密码时,人们必须处理几种不同的密码哈希值的生成、保护和存储方式。

LM哈希值是自Windows原始版本发布以来使用的最古老的密码类型。微软在Windows Vista/Server 2008中已经停止使用LM哈希值,但仍然可能在旧系统中仍然会遇到这种情况。LM哈希值存储在本地的SAM数据库中,或域控制器(DC,安装了活动目录的计算机)上的NTDS数据库中。

NTLM哈希值是LM的替代品。在当前版本的Windows中,微软仍然使用NTLM机制来存储密码。这些密码也被存储在SAM数据库中,或域控制器上的NTDS数据库中。得益于算法的实现方式,NTLM哈希值的破解速度比LM还要快。

NTLM哈希值保护本地Windows账户以及Windows 8中引入的较新类型的账户:微软账户登录。Windows缓存了密码哈希值,并将其存储在计算机本地。这允许用户在脱机使用时登录他们的计算机。另一方面,提取被缓存的哈希文件也被允许,并可用离线攻击来恢复原始密码。微软账户密码的哈希值与其他NTLM哈希文件一起被储存在本地的SAM数据库中。从技术上讲,本地缓存的微软账户密码与其他类型的缓存凭证一样受到NTLM机制的保护,这使得它们与本地Windows密码一样容易受到攻击,且破解速度很快。 

加盐算法并没有很好用于NTLM哈希值。微软用加盐的方式保护LM和NTLM密码哈希值。然而,同样的盐被用来保护所有的LM和NTLM密码,这就允许同时攻击某台电脑上的所有用户账户。这只在Windows Hello PIN中有所改变。

Windows也有DCC,它代表了域缓存凭证(Domain Cached Credentials)。这些是本地存储的、缓存的密码哈希值,用于登录到域中。与所有其他类型的凭证相比,域缓存凭证的保护方式不同,并且与LM和NTLM密码相比,其特点是保护力度明显更强。

微软账户密码

在Windows 8中,微软引入了一个不同的认证系统——Windows Hello。鼓励Windows 8、10和11的用户设置一个PIN码并使用它来代替他们的账户密码。

微软声称,PIN码比传统密码更安全,一般来说,只有在用户的电脑搭载了配置好的TPM模块(Trusted Platform Module,可信平台模块,可以用于提高电脑的安全性)的情况下才是如此。如果没有TPM,PIN就变成了另一个密码,如果用户按照微软的默认设置,设置一个4位数或6位数的PIN,那么这个密码就非常弱。但是,如果用户配置了一个字母数字PIN(基本上是密码的另一个名称),情况就会改变。

Windows Hello PIN码

与攻击NTLM相比,攻击Windows Hello PIN码的速度明显较慢。根据下表,与攻击NTLM哈希值相比,用Elcomsoft Distributed Password Recovery攻击字母数字型的Windows Hello PIN码的速度可以慢5万到15万倍。此外,Windows Hello PIN是单独加盐运算的,这意味着必须依次攻击所有受PIN保护的账户。

这些数字意味着什么?

每秒230亿个密码的暴力破解率(针对NTLM哈希值)到底意味着什么?让我们来看看一个由数字和拉丁字母随机组合而成的8个字符的密码(95^8个随机组合)。按照每秒320亿个密码的速度,需要大约80个小时来破解该密码。恢复一个7位数的字母数字型密码需要不到一个小时,而较短或不太复杂的密码几乎可以瞬间被破解。然而,一个9位数的密码,几乎需要一年的时间才能破解。相应地,破解9位数的字母数字密码,需要使用高质量的字典和智能攻击。

那么对于每秒能够尝试16.5万个密码的PIN码呢?按照这个速度,你破解普通的8位数密码需要大约1300年,破解一个7位数的密码需要大约13年,或者破解一个6位数的字母数字密码需要大约50天。这意味着你不得不需要通过字典和智能攻击来破解一个看似较短的6个字符的密码。

结论

我们比较了Windows中不同类型的缓存账户凭证。在这些比较中,Windows Hello PIN是最安全的,但这只有在用户配置了一个长的字母数字PIN的情况下成立。如果没有TPM,全数字的PIN码是不安全的,可在几分钟内被破解。

原文链接:

https://blog.elcomsoft.com/2022/08/breaking-windows-passwords-lm-ntlm-dcc-and-windows-hello-pin-compared/

参考链接:

https://blog.elcomsoft.com/2016/03/breaking-into-microsoft-account-its-no-google-but-getting-close/

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存